package com.yssoft.service;

import com.yssoft.entity.core.TAccounts;
import com.yssoft.entity.core.TEnterprise;
import com.yssoft.entity.core.TPersonnel;
import com.yssoft.entity.core.TProducts;
import com.yssoft.entity.production.TLabels;
import com.yssoft.entity.purchase.TPurchaseInfo;
import com.yssoft.entity.sales.TSalesOrder;
import com.yssoft.mapper.core.TAccountsMapper;
import com.yssoft.mapper.core.TPersonnelMapper;
import com.yssoft.mapper.core.TProductsMapper;
import com.yssoft.mapper.production.TLabelsMapper;
import com.yssoft.mapper.purchase.TPurchaseInfoMapper;
import com.yssoft.mapper.sales.TSalesOrderMapper;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import javax.annotation.Resources;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @创建人: 陈翼东
 * @时间: 18-6-14 下午1:24
 * @说明:
 */
@Service
public class IndexService {
    
    @Resource
    private TLabelsMapper labelsMapper;
    
    @Resource
    private TProductsMapper productsMapper;
    
    @Resource
    private TPersonnelMapper personnelMapper;
    
    @Resource
    private TAccountsMapper accountsMapper;
    
    @Resource
    private TSalesOrderMapper salesOrderMapper;
    
    @Resource
    private TPurchaseInfoMapper purchaseInfoMapper;
    
    /**
     * @方法名: selectCurrentEntLables
     * @创建人: 陈翼东
     * @时间: 18-6-14 下午1:26
     * @参数: [entList]
     * @返回值: java.util.List<com.yssoft.entity.production.TLabels>
     * @说明: 查询月份下面包含的企业的标签
     */
    public Map<String,Object> selectCurrentEntLables(List<TEnterprise> entList) {
        return labelsMapper.selectByEntCount(entList);
    }
    
    /**
    * @方法名: selectCurrentEntLables
    * @创建人: 陈翼东
    * @时间: 18-6-14 下午1:26
    * @参数: [entList]
    * @返回值: java.util.List<com.yssoft.entity.production.TLabels>
    * @说明: 查询月份下面包含的企业的标签
    */
    public Map<String,Object> selectCurrentEntCurrentDateLables(List<TEnterprise> entList, String currentTime) {
        Map<String,Object> params=new HashMap<>();
        params.put("currentTime",currentTime);
        params.put("entList",entList);
        return labelsMapper.selectByEntCountCurrentDate(params);
    }
    
    /**
    * @方法名: selectCurrentEntProduct
    * @创建人: 陈翼东
    * @时间: 18-6-14 下午1:47
    * @参数: [entList]
    * @返回值: java.util.List<com.yssoft.entity.core.TProducts>
    * @说明: 查询参数中企业的产品
    */
    public Map<String,Object> selectCurrentEntProductCount(List<TEnterprise> entList) {
        return productsMapper.selectByEntListCount(entList);
    }
    /**
    * @方法名: selectCurrentEntProduct
    * @创建人: 陈翼东
    * @时间: 18-6-14 下午1:47
    * @参数: [entList]
    * @返回值: java.util.List<com.yssoft.entity.core.TProducts>
    * @说明: 查询参数中企业的产品
    */
    public Map<String,Object> selectCurrentEntProductCurrentDateCount(List<TEnterprise> entList,String currentTime) {
        Map<String,Object> params=new HashMap<>();
        params.put("currentTime",currentTime);
        params.put("entList",entList);
        return productsMapper.selectByEntListCurrentDateCount(params);
    }
    
    /**
    * @方法名: selectCurrentEntPersonnal
    * @创建人: 陈翼东
    * @时间: 18-6-14 下午2:08
    * @参数: [entList]
    * @返回值: java.util.List<com.yssoft.entity.core.TPersonnel>
    * @说明: 查询集合中企业的人员数量
    */
    public Map<String,Object>  selectCurrentEntPersonnalCount(List<TEnterprise> entList) {
        return personnelMapper.selectByEntCount(entList);
    }
    /**
    * @方法名: selectCurrentEntPersonnal
    * @创建人: 陈翼东
    * @时间: 18-6-14 下午2:08
    * @参数: [entList]
    * @返回值: java.util.List<com.yssoft.entity.core.TPersonnel>
    * @说明: 查询集合中企业的当月创建人员
    */
    public Map<String,Object>  selectCurrentEntPersonnalCurrentDateCount(List<TEnterprise> entList,String currentTime) {
        Map<String,Object> params=new HashMap<>();
        params.put("currentTime",currentTime);
        params.put("entList",entList);
        return personnelMapper.selectByEntCurrentDateCount(params);
    }
    
    /**
    * @方法名: selectCurrentEntAccount
    * @创建人: 陈翼东
    * @时间: 18-6-14 下午2:16
    * @参数: [entList]
    * @返回值: java.util.List<com.yssoft.entity.core.TAccounts>
    * @说明: 查询当前集合中企业的账号
    */
    public List<TAccounts> selectCurrentEntAccount(List<TEnterprise> entList) {
        return  accountsMapper.selectByEntList(entList);
    }
    
    /**
    * @方法名: selectCurrentEntSalesOrder
    * @创建人: 陈翼东
    * @时间: 18-6-14 下午3:50
    * @参数: [entList]
    * @返回值: java.util.List<com.yssoft.entity.sales.TSalesOrder>        
    * @说明: 查询企业中采购单按照月份分组数量
    */
    public List<Map<String,Object>> selectCurrentEntSalesOrder(List<TEnterprise> entList) {
        return salesOrderMapper.selectMonthGroupByByEntList(entList);
    }
    
    /**
    * @方法名: selectCurrentEntPurchaseOrder
    * @创建人: 陈翼东
    * @时间: 18-6-14 下午3:59
    * @参数: [entList]
    * @返回值: java.util.List<com.yssoft.entity.purchase.TPurchaseInfo>
    * @说明: 查询企业中销售单按照月份分组数量
    */
    public List<Map<String,Object>> selectCurrentEntPurchaseOrder(List<TEnterprise> entList) {
        
        return purchaseInfoMapper.selectMonthGroupByByEntList(entList);
    }
}
